{-# OPTIONS -Wall #-}

--------------------------------------------------------------------------------
-- |
-- Module      :  Lirio.PitchNames
-- Copyright   :  (c) Stephen Tetley 2012
-- License     :  BSD3
--
-- Maintainer  :  Stephen Tetley <stephen.tetley@gmail.com>
-- Stability   :  highly unstable
-- Portability :  GHC
--
-- Named pitch constructors.
--
--------------------------------------------------------------------------------


module Lirio.PitchNames
  (

  -- * Pitch label contructors
    cf_, c_, cs_, df_, d_, ds_, ef_, e_, es_
  , ff_, f_, fs_, gf_, g_, gs_, af_, a_, as_
  , bf_, b_, bs_ 


  -- * Pitch constructors
  , cf_1, c_1, cs_1, df_1, d_1, ds_1, ef_1, e_1, es_1
  , ff_1, f_1, fs_1, gf_1, g_1, gs_1, af_1, a_1, as_1
  , bf_1, b_1, bs_1  

  , cf_2, c_2, cs_2, df_2, d_2, ds_2, ef_2, e_2, es_2
  , ff_2, f_2, fs_2, gf_2, g_2, gs_2, af_2, a_2, as_2
  , bf_2, b_2, bs_2  

  , cf_3, c_3, cs_3, df_3, d_3, ds_3, ef_3, e_3, es_3
  , ff_3, f_3, fs_3, gf_3, g_3, gs_3, af_3, a_3, as_3
  , bf_3, b_3, bs_3  

  , cf_4, c_4, cs_4, df_4, d_4, ds_4, ef_4, e_4, es_4
  , ff_4, f_4, fs_4, gf_4, g_4, gs_4, af_4, a_4, as_4
  , bf_4, b_4, bs_4  

  , cf_5, c_5, cs_5, df_5, d_5, ds_5, ef_5, e_5, es_5
  , ff_5, f_5, fs_5, gf_5, g_5, gs_5, af_5, a_5, as_5
  , bf_5, b_5, bs_5  

  , cf_6, c_6, cs_6, df_6, d_6, ds_6, ef_6, e_6, es_6
  , ff_6, f_6, fs_6, gf_6, g_6, gs_6, af_6, a_6, as_6
  , bf_6, b_6, bs_6  

  , cf_7, c_7, cs_7, df_7, d_7, ds_7, ef_7, e_7, es_7
  , ff_7, f_7, fs_7, gf_7, g_7, gs_7, af_7, a_7, as_7
  , bf_7, b_7, bs_7  

  , cf_8, c_8, cs_8, df_8, d_8, ds_8, ef_8, e_8, es_8
  , ff_8, f_8, fs_8, gf_8, g_8, gs_8, af_8, a_8, as_8
  , bf_8, b_8, bs_8  

  ) where

import Lirio.Base.Pitch


--------------------------------------------------------------------------------
-- Pitch labels

cf_       :: PitchLabel
cf_       = PitchLabel C (Just Flat)

c_        :: PitchLabel
c_        = PitchLabel C Nothing

cs_       :: PitchLabel
cs_       = PitchLabel C (Just Sharp)

df_       :: PitchLabel
df_       = PitchLabel D (Just Flat)

d_        :: PitchLabel
d_        = PitchLabel D Nothing

ds_       :: PitchLabel
ds_       = PitchLabel D (Just Sharp)

ef_       :: PitchLabel
ef_       = PitchLabel E (Just Flat)

e_        :: PitchLabel
e_        = PitchLabel E Nothing

es_       :: PitchLabel
es_       = PitchLabel E (Just Sharp)

ff_       :: PitchLabel
ff_       = PitchLabel F (Just Flat)

f_        :: PitchLabel
f_        = PitchLabel F Nothing

fs_       :: PitchLabel
fs_       = PitchLabel F (Just Sharp)

gf_       :: PitchLabel
gf_       = PitchLabel G (Just Flat)

g_        :: PitchLabel
g_        = PitchLabel G Nothing

gs_       :: PitchLabel
gs_       = PitchLabel G (Just Sharp)

af_       :: PitchLabel
af_       = PitchLabel A (Just Flat)

a_        :: PitchLabel
a_        = PitchLabel A Nothing

as_       :: PitchLabel
as_       = PitchLabel A (Just Sharp)

bf_       :: PitchLabel
bf_       = PitchLabel B (Just Flat)

b_        :: PitchLabel
b_        = PitchLabel B Nothing

bs_       :: PitchLabel
bs_       = PitchLabel B (Just Sharp)





--------------------------------------------------------------------------------
-- Pitches

-- Octave 1

cf_1            :: Pitch
cf_1            = Pitch C (Just Flat) 1

c_1             :: Pitch
c_1             = Pitch C Nothing 1

cs_1            :: Pitch
cs_1            = Pitch C (Just Sharp) 1

df_1            :: Pitch
df_1            = Pitch D (Just Flat) 1

d_1             :: Pitch
d_1             = Pitch D Nothing 1

ds_1            :: Pitch
ds_1            = Pitch D (Just Sharp) 1

ef_1            :: Pitch
ef_1            = Pitch E (Just Flat) 1

e_1             :: Pitch
e_1             = Pitch E Nothing 1

es_1            :: Pitch
es_1            = Pitch E (Just Sharp) 1

ff_1            :: Pitch
ff_1            = Pitch F (Just Flat) 1

f_1             :: Pitch
f_1             = Pitch F Nothing 1

fs_1            :: Pitch
fs_1            = Pitch F (Just Sharp) 1

gf_1            :: Pitch
gf_1            = Pitch G (Just Flat) 1

g_1             :: Pitch
g_1             = Pitch G Nothing 1

gs_1            :: Pitch
gs_1            = Pitch G (Just Sharp) 1

af_1            :: Pitch
af_1            = Pitch A (Just Flat) 1

a_1             :: Pitch
a_1             = Pitch A Nothing 1

as_1            :: Pitch
as_1            = Pitch A (Just Sharp) 1

bf_1            :: Pitch
bf_1            = Pitch B (Just Flat) 1

b_1             :: Pitch
b_1             = Pitch B Nothing 1

bs_1            :: Pitch
bs_1            = Pitch B (Just Sharp) 1


-- Octave 2

cf_2            :: Pitch
cf_2            = Pitch C (Just Flat) 2

c_2             :: Pitch
c_2             = Pitch C Nothing 2

cs_2            :: Pitch
cs_2            = Pitch C (Just Sharp) 2

df_2            :: Pitch
df_2            = Pitch D (Just Flat) 2

d_2             :: Pitch
d_2             = Pitch D Nothing 2

ds_2            :: Pitch
ds_2            = Pitch D (Just Sharp) 2

ef_2            :: Pitch
ef_2            = Pitch E (Just Flat) 2

e_2             :: Pitch
e_2             = Pitch E Nothing 2

es_2            :: Pitch
es_2            = Pitch E (Just Sharp) 2

ff_2            :: Pitch
ff_2            = Pitch F (Just Flat) 2

f_2             :: Pitch
f_2             = Pitch F Nothing 2

fs_2            :: Pitch
fs_2            = Pitch F (Just Sharp) 2

gf_2            :: Pitch
gf_2            = Pitch G (Just Flat) 2

g_2             :: Pitch
g_2             = Pitch G Nothing 2

gs_2            :: Pitch
gs_2            = Pitch G (Just Sharp) 2

af_2            :: Pitch
af_2            = Pitch A (Just Flat) 2

a_2             :: Pitch
a_2             = Pitch A Nothing 2

as_2            :: Pitch
as_2            = Pitch A (Just Sharp) 2

bf_2            :: Pitch
bf_2            = Pitch B (Just Flat) 2

b_2             :: Pitch
b_2             = Pitch B Nothing 2

bs_2            :: Pitch
bs_2            = Pitch B (Just Sharp) 2


-- Octave 3

cf_3            :: Pitch
cf_3            = Pitch C (Just Flat) 3

c_3             :: Pitch
c_3             = Pitch C Nothing 3

cs_3            :: Pitch
cs_3            = Pitch C (Just Sharp) 3

df_3            :: Pitch
df_3            = Pitch D (Just Flat) 3

d_3             :: Pitch
d_3             = Pitch D Nothing 3

ds_3            :: Pitch
ds_3            = Pitch D (Just Sharp) 3

ef_3            :: Pitch
ef_3            = Pitch E (Just Flat) 3

e_3             :: Pitch
e_3             = Pitch E Nothing 3

es_3            :: Pitch
es_3            = Pitch E (Just Sharp) 3

ff_3            :: Pitch
ff_3            = Pitch F (Just Flat) 3

f_3             :: Pitch
f_3             = Pitch F Nothing 3

fs_3            :: Pitch
fs_3            = Pitch F (Just Sharp) 3

gf_3            :: Pitch
gf_3            = Pitch G (Just Flat) 3

g_3             :: Pitch
g_3             = Pitch G Nothing 3

gs_3            :: Pitch
gs_3            = Pitch G (Just Sharp) 3

af_3            :: Pitch
af_3            = Pitch A (Just Flat) 3

a_3             :: Pitch
a_3             = Pitch A Nothing 3

as_3            :: Pitch
as_3            = Pitch A (Just Sharp) 3

bf_3            :: Pitch
bf_3            = Pitch B (Just Flat) 3

b_3             :: Pitch
b_3             = Pitch B Nothing 3

bs_3            :: Pitch
bs_3            = Pitch B (Just Sharp) 3



-- Octave 4 (middle C is C4)

cf_4            :: Pitch
cf_4            = Pitch C (Just Flat) 4

c_4             :: Pitch
c_4             = Pitch C Nothing 4

cs_4            :: Pitch
cs_4            = Pitch C (Just Sharp) 4

df_4            :: Pitch
df_4            = Pitch D (Just Flat) 4

d_4             :: Pitch
d_4             = Pitch D Nothing 4

ds_4            :: Pitch
ds_4            = Pitch D (Just Sharp) 4

ef_4            :: Pitch
ef_4            = Pitch E (Just Flat) 4

e_4             :: Pitch
e_4             = Pitch E Nothing 4

es_4            :: Pitch
es_4            = Pitch E (Just Sharp) 4

ff_4            :: Pitch
ff_4            = Pitch F (Just Flat) 4

f_4             :: Pitch
f_4             = Pitch F Nothing 4

fs_4            :: Pitch
fs_4            = Pitch F (Just Sharp) 4

gf_4            :: Pitch
gf_4            = Pitch G (Just Flat) 4

g_4             :: Pitch
g_4             = Pitch G Nothing 4

gs_4            :: Pitch
gs_4            = Pitch G (Just Sharp) 4

af_4            :: Pitch
af_4            = Pitch A (Just Flat) 4

a_4             :: Pitch
a_4             = Pitch A Nothing 4

as_4            :: Pitch
as_4            = Pitch A (Just Sharp) 4

bf_4            :: Pitch
bf_4            = Pitch B (Just Flat) 4

b_4             :: Pitch
b_4             = Pitch B Nothing 4

bs_4            :: Pitch
bs_4            = Pitch B (Just Sharp) 4



-- Octave 5

cf_5            :: Pitch
cf_5            = Pitch C (Just Flat) 5

c_5             :: Pitch
c_5             = Pitch C Nothing 5

cs_5            :: Pitch
cs_5            = Pitch C (Just Sharp) 5

df_5            :: Pitch
df_5            = Pitch D (Just Flat) 5

d_5             :: Pitch
d_5             = Pitch D Nothing 5

ds_5            :: Pitch
ds_5            = Pitch D (Just Sharp) 5

ef_5            :: Pitch
ef_5            = Pitch E (Just Flat) 5

e_5             :: Pitch
e_5             = Pitch E Nothing 5

es_5            :: Pitch
es_5            = Pitch E (Just Sharp) 5

ff_5            :: Pitch
ff_5            = Pitch F (Just Flat) 5

f_5             :: Pitch
f_5             = Pitch F Nothing 5

fs_5            :: Pitch
fs_5            = Pitch F (Just Sharp) 5

gf_5            :: Pitch
gf_5            = Pitch G (Just Flat) 5

g_5             :: Pitch
g_5             = Pitch G Nothing 5

gs_5            :: Pitch
gs_5            = Pitch G (Just Sharp) 5

af_5            :: Pitch
af_5            = Pitch A (Just Flat) 5

a_5             :: Pitch
a_5             = Pitch A Nothing 5

as_5            :: Pitch
as_5            = Pitch A (Just Sharp) 5

bf_5            :: Pitch
bf_5            = Pitch B (Just Flat) 5

b_5             :: Pitch
b_5             = Pitch B Nothing 5

bs_5            :: Pitch
bs_5            = Pitch B (Just Sharp) 5


-- Octave 6

cf_6            :: Pitch
cf_6            = Pitch C (Just Flat) 6

c_6             :: Pitch
c_6             = Pitch C Nothing 6

cs_6            :: Pitch
cs_6            = Pitch C (Just Sharp) 6

df_6            :: Pitch
df_6            = Pitch D (Just Flat) 6

d_6             :: Pitch
d_6             = Pitch D Nothing 6

ds_6            :: Pitch
ds_6            = Pitch D (Just Sharp) 6

ef_6            :: Pitch
ef_6            = Pitch E (Just Flat) 6

e_6             :: Pitch
e_6             = Pitch E Nothing 6

es_6            :: Pitch
es_6            = Pitch E (Just Sharp) 6

ff_6            :: Pitch
ff_6            = Pitch F (Just Flat) 6

f_6             :: Pitch
f_6             = Pitch F Nothing 6

fs_6            :: Pitch
fs_6            = Pitch F (Just Sharp) 6

gf_6            :: Pitch
gf_6            = Pitch G (Just Flat) 6

g_6             :: Pitch
g_6             = Pitch G Nothing 6

gs_6            :: Pitch
gs_6            = Pitch G (Just Sharp) 6

af_6            :: Pitch
af_6            = Pitch A (Just Flat) 6

a_6             :: Pitch
a_6             = Pitch A Nothing 6

as_6            :: Pitch
as_6            = Pitch A (Just Sharp) 6

bf_6            :: Pitch
bf_6            = Pitch B (Just Flat) 6

b_6             :: Pitch
b_6             = Pitch B Nothing 6

bs_6            :: Pitch
bs_6            = Pitch B (Just Sharp) 6


-- Octave 7

cf_7            :: Pitch
cf_7            = Pitch C (Just Flat) 7

c_7             :: Pitch
c_7             = Pitch C Nothing 7

cs_7            :: Pitch
cs_7            = Pitch C (Just Sharp) 7

df_7            :: Pitch
df_7            = Pitch D (Just Flat) 7

d_7             :: Pitch
d_7             = Pitch D Nothing 7

ds_7            :: Pitch
ds_7            = Pitch D (Just Sharp) 7

ef_7            :: Pitch
ef_7            = Pitch E (Just Flat) 7

e_7             :: Pitch
e_7             = Pitch E Nothing 7

es_7            :: Pitch
es_7            = Pitch E (Just Sharp) 7

ff_7            :: Pitch
ff_7            = Pitch F (Just Flat) 7

f_7             :: Pitch
f_7             = Pitch F Nothing 7

fs_7            :: Pitch
fs_7            = Pitch F (Just Sharp) 7

gf_7            :: Pitch
gf_7            = Pitch G (Just Flat) 7

g_7             :: Pitch
g_7             = Pitch G Nothing 7

gs_7            :: Pitch
gs_7            = Pitch G (Just Sharp) 7

af_7            :: Pitch
af_7            = Pitch A (Just Flat) 7

a_7             :: Pitch
a_7             = Pitch A Nothing 7

as_7            :: Pitch
as_7            = Pitch A (Just Sharp) 7

bf_7            :: Pitch
bf_7            = Pitch B (Just Flat) 7

b_7             :: Pitch
b_7             = Pitch B Nothing 7

bs_7            :: Pitch
bs_7            = Pitch B (Just Sharp) 7


-- Octave 8

cf_8            :: Pitch
cf_8            = Pitch C (Just Flat) 8

c_8             :: Pitch
c_8             = Pitch C Nothing 8

cs_8            :: Pitch
cs_8            = Pitch C (Just Sharp) 8

df_8            :: Pitch
df_8            = Pitch D (Just Flat) 8

d_8             :: Pitch
d_8             = Pitch D Nothing 8

ds_8            :: Pitch
ds_8            = Pitch D (Just Sharp) 8

ef_8            :: Pitch
ef_8            = Pitch E (Just Flat) 8

e_8             :: Pitch
e_8             = Pitch E Nothing 8

es_8            :: Pitch
es_8            = Pitch E (Just Sharp) 8

ff_8            :: Pitch
ff_8            = Pitch F (Just Flat) 8

f_8             :: Pitch
f_8             = Pitch F Nothing 8

fs_8            :: Pitch
fs_8            = Pitch F (Just Sharp) 8

gf_8            :: Pitch
gf_8            = Pitch G (Just Flat) 8

g_8             :: Pitch
g_8             = Pitch G Nothing 8

gs_8            :: Pitch
gs_8            = Pitch G (Just Sharp) 8

af_8            :: Pitch
af_8            = Pitch A (Just Flat) 8

a_8             :: Pitch
a_8             = Pitch A Nothing 8

as_8            :: Pitch
as_8            = Pitch A (Just Sharp) 8

bf_8            :: Pitch
bf_8            = Pitch B (Just Flat) 8

b_8             :: Pitch
b_8             = Pitch B Nothing 8

bs_8            :: Pitch
bs_8            = Pitch B (Just Sharp) 8



